﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Lib.Bases;
using Lib.Utils;

namespace MS.INV.Prices
{
    public partial class L_Tables : UserControl
    {
        DataTable tbls = new DataTable();

        public L_Tables()
        {
            InitializeComponent();
        }

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            if (!this.DesignMode)
            {
                using (SysLst.L_Ban tb = new SysLst.L_Ban())
                {
                    tbls = tb.ListWithLocation();
                    cbTbl.SetDataSource(tbls, "TenBan", "IdBan", "TenBan#Số bàn");
                }
            }
        }

        private void cbTbl_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btAdd_Click(btAdd, new EventArgs());
            }
        }

        private void btAdd_Click(object sender, EventArgs e)
        {
            int id = Cvert.ToInt32(cbTbl.EditValue, 0);
            if (id > 0)
            {
                DataTable DT = (DataTable)grid.DataSource;
                DataRow[] rS = tbls.Select("IdBan=" + id);
                if (!object.Equals(rS, null) && rS.Length > 0)
                {
                    if (DT != null && DT.Rows.Count > 0)
                    {
                        DataRow[] rC = DT.Select("IdBan=" + Cvert.ToInt32(rS[0]["IdBan"], 0));
                        if (!object.Equals(rC, null) && rC.Length > 0)
                        {
                            Msg.InforOK("Số bàn này đã được chọn, vui lòng chọn số tiếp theo.");
                            return;
                        }
                    }
                    DT.ImportRow(rS[0]);
                }
            }
        }

        public void SetData(DataTable Data)
        {
            grid.DataSource = Data;
        }

        public DataTable GetData()
        {
            return grid.GetAcceptChanges();
        }

        private void repRemove_Click(object sender, EventArgs e)
        {
            DataRow row = view.GetFocusedDataRow();
            if (!object.Equals(row, null))
            {
                if (Msg.YesNoWarn("Bạn có chắc muốn xóa dữ liệu này không ?") == DialogResult.Yes)
                    row.Delete();
            }
        }
    }
}
